<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 1. 已知有序数组
        // - 将一个数字按照顺序插入到数组内部
        // // 已知数组
        // var arr = [ 10,20,30,50,80,100,40,60 ]
        // // 准备要插入的数字
        // var n = 23
        // // code run here ...
        // // 结果
        // // arr : [ 10, 13, 20, 30, 40, 50 ]

        /* 
            方法一
                将这个数字直接扔到数组的末尾,然后再进行排序
            
            方法二:    
            思路:
                1. 对象原先的数组进行排序
                    [ 10,20,30,40, 50, 60, 80,100 ]
                2. 插入一个数字 var n = 13;
                    遍历这个数组
                    将n这个数字与数组里面的每一个元素都比较大小,如果n小于某一个元素了,那么就停止循环,记录这个下标
                    //定义一个记录下标的变量
                    var index = -1;

                    for(var i = 0 ; i < arr.length ; i++){
                        if(n<arr[i]){
                            index = i;//记录这个下标,将这个下标记录index这个变量里面去
                            break;//记录完毕终止循环
                        }
                    }
                3. 判断刚刚记录下标的那个变量,
                    如果这个变量的值为-1那么表示你插入的这个数字比数组里面任何一个数字都要大,扔最后
                    如果这个变量的值不为-1,那么就往数组的这个位置index,插入n这个变量
                    if(index === -1){
                        arr.push(n)  //往数组的末尾扔
                    }els{
                        arr.splice(index,0,n)
                    }

        */
       /* 
            方法二:
       */
        var arr = [ 10,20,30,50,80,100,40,60 ]
        var n = 53
        
        // 1. 对数组进行排序
        arr.sort(function(a,b){return a - b})
        // 2. 定义一个变量,下标为-1 => 就用来记录你要插入那个下标的位置
        var index = -1;
        //遍历这个数组
        for(var i = 0 ; i < arr.length ; i++){
            //判断n这个数组与数组里面的每一个元素比较大小,如果n小于数组里面的某一个元素了,那么记录这个下标,等会就往这里插入进去
            if(n < arr[i]){
                index = i;//记录这个下标
                break;  //记录完下标,终止循环
            }
        }
        //判断index是否为-1,如果为-1,那么表示n比数组里面任何一个数字都要大,那么插入到最后面,否则,插入index这个位置
        if(index === -1){
            arr.push(n)
        }else{
            arr.splice(index,0,n)
        }
        console.log(arr);


        /* 方法一 */
        //将n这个数字扔到数组的末尾,然后再进行排序
        // arr.push(n)
        //对数组排序
        // arr.sort(function(a,b){return a - b})
        // console.log(arr);
    </script>
</body>
</html>